/**
 * @(#)IProcessReleaseNotesService.java Sep 1, 2009
 *   
 * Copyright  (c) 2009-2010 Wilmar IT Service,  Inc.   
 * All  rights  reserved.   
 * TODO
 */

package com.wilmar.process.core.services.api;

import com.wilmar.process.entity.ProcessReleaseNotes;
import com.wilmar.process.entity.vo.ProcessReleaseNotesVO;
import com.wilmar.process.exception.ObjectNotFoundException;

/**
 * 系统流程发布说明服务接口
 * 
 * @author MaKuBEX Email:makubexnet@gmail.com
 * @version 1.0.0
 */
public interface ISystemProcessReleaseNotesService extends
		IBaseService<ProcessReleaseNotesVO, ProcessReleaseNotes> {
	/**
	 * 根据流程定义编号删除对应的发布说明
	 * 
	 * @param processDefinitionId
	 *            流程定义编号
	 */
	public void removeReleaseNotesByProcessDefinitionId(
			String processDefinitionId);

	/**
	 * 保存一个发布说明
	 * 
	 * @param processReleaseNotes
	 *            发布说明
	 */
	public void saveReleaseNotes(ProcessReleaseNotes processReleaseNotes);

	/**
	 * 更新一条发布说明
	 * 
	 * @param processReleaseNotes
	 *            发布说明
	 */
	public void updateReleaseNotes(ProcessReleaseNotes processReleaseNotes);

	/**
	 * 根据提供的流程定义编号获取流程发布说明的详细信息
	 * 
	 * @param processDefinitionId
	 *            流程定义编号
	 * @return 流程发布说明
	 * @throws ObjectNotFoundException
	 *             当指定的流程编号没有对应的
	 */
	public ProcessReleaseNotes getDetailByProcessDefinitionId(
			String processDefinitionId) throws ObjectNotFoundException;
}
